package core;

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class Tools {
	/*************************************************************************
     *                                                                       *
     *       Écrire dans un fichier texte.                                   *
     *                                                                       *
     *************************************************************************/
    // Pour écrire dans un fichier texte, on utilise un PrintWriter. Cette
    // classe se charge de transformer les différents types de données
    // (entiers, flottants etc) en leur représentation sous forme de
    // caractères. De plus, PrintWriter supporte la notion de ligne.
	public static void ecrireFichier(String nomFichier, String contenu){
			
	    PrintWriter sortie = null;
	    try {
	      // 'sortie' permet d'écrire du texte dans un flux de caractères dirigé
	      // vers notre fichier.
	      sortie = new PrintWriter(new FileWriter(nomFichier));
	    } catch (IOException e) {
	      // Si sa création échoue, on s'arrête.
	      System.err.println("# Erreur : impossible de créer \""+ nomFichier +"\".");
	      System.exit(1);
	    }
	    
	    // On écrit maintenant les lignes de texte dans le fichier.
	    sortie.println(contenu);
	    System.out.println("Le fichier : \""+nomFichier+"\" a été écrit.");
	    
	    // puis on ferme le PrintWriter, ce qui a pour effet de fermer de
	    // FileWriter associé. Curieusement, la méthode 'close' de
	    // PrintWriter ne lève pas d'exception, il n'est donc pas nécessaire
	    // d'utiliser un try/catch ici. Il faut utiliser la méthode 
	    // checkError() pour savoir si la fermeture s'est bien passée et donc 
	    // si le fichier a été correctement enregistré sur le disque.
	    sortie.close();
	    if (sortie.checkError()) {
	      System.err.println("# Erreur : le fichier \""+ nomFichier
	                         + "\" n'a pu être enregistré correctement.");
	      System.exit(1);
	    }
	}
}
